Skip to content

chore: pre-release maintenance — fix fuzz crash, update docs#272

Merged
chaliy merged 2 commits intomainfrom
claude/maintenance-pr-So774
Feb 26, 2026
Merged

chore: pre-release maintenance — fix fuzz crash, update docs#272
chaliy merged 2 commits intomainfrom
claude/maintenance-pr-So774

Conversation

@chaliy
Copy link
Copy Markdown
Contributor

@chaliy chaliy commented Feb 25, 2026

Summary

  • Fix arithmetic_fuzz crash: Reduce MAX_ARITHMETIC_DEPTH from 200 to 50, preventing stack overflow on deeply nested/malformed arithmetic expressions. Fuzz CI has been red for 6+ consecutive days due to this.
  • Fix threat ID mismatch: Code comments cited TM-DOS-025 (regex backtracking) instead of TM-DOS-026 (arithmetic recursion).
  • Fix ASan nightly flake: Relax threat_cpu_exhaustion_timeout assertion from 5s to 15s — ASan overhead (~10x) caused the timing assertion to fail in nightly CI.
  • Update documentation: README builtin count (85 → 100+), compatibility scorecard (12 builtins moved from "Not Implemented" to "Recently Added"), CHANGELOG (40+ unreleased entries since v0.1.6), implementation status spec (builtin count 100 → 109, cleaned stale strikethrough entries).

Maintenance Checklist

Section Status Notes
1. Dependencies Pass cargo update (up to date), cargo audit (clean), cargo deny (clean)
2. Security Pass Threat model reviewed, TM-DOS-026 depth reduced, security tests pass
3. Tests Pass All tests pass, 899/899 bash compat
4. Documentation Fixed README, compatibility, CHANGELOG, threat model docs updated
5. Examples Pass All 15 examples compile and run
6. Specs Fixed 009-implementation-status updated, stale entries cleaned
7. Code Quality Pass cargo fmt --check and cargo clippy clean
8. Agent Config Pass AGENTS.md verified current
9. Nightly CI Fixed Fuzz crash fixed (depth limit); ASan timeout flake fixed (15s bound)

Test plan

  • cargo fmt --check — clean
  • cargo clippy --all-targets --all-features -- -D warnings — clean
  • cargo test --all-features — all pass
  • cargo test --test threat_model_tests — 93 pass
  • just check-bash-compat — 899/899 match
  • All 15 examples compile and run
  • cargo doc --all-features — no warnings

- Fix persistent arithmetic_fuzz crash: reduce MAX_ARITHMETIC_DEPTH
  from 200 to 50 to prevent stack overflow on deeply nested/malformed
  arithmetic expressions (TM-DOS-026)
- Fix threat ID mismatch: code comments cited TM-DOS-025 instead of
  TM-DOS-026 for arithmetic recursion guard
- Update README.md builtin count from 85 to 100+ with newly added
  commands (pushd/popd/dirs, seq, tac, rev, yes, expr, mktemp,
  realpath, declare/typeset, let, getopts, trap, caller, shopt, etc.)
- Update compatibility.md: move 12 builtins from "Not Implemented" to
  "Recently Added" section (ln, chown, kill, trap, type, which,
  command, hash, declare/typeset, let, getopts, caller, shopt, etc.)
- Update CHANGELOG.md with 40+ unreleased changes since v0.1.6
- Update 009-implementation-status.md: correct builtin count to 109,
  remove stale strikethrough entries from "Not Yet Implemented"
- Update threat model docs (spec + public) to reflect new depth limit

Maintenance checklist results:
- Dependencies: all up to date, no CVEs, cargo deny clean
- Code quality: fmt and clippy clean
- Tests: all pass (186 tests + 67 doc-tests + 14 failpoint tests)
- Examples: all compile and run
- Nightly CI: 1 ASan flake (non-persistent), fuzz crash fixed
- Specs and agent config: verified current

https://claude.ai/code/session_01Xeagj4mjdqSXKXKmdMk7Z2
ASan inflates stack frames ~10x, causing the 5s assertion to fail
in nightly CI. Use 15s — still proves timeout works, accommodates
sanitizer overhead.

Fixes nightly.yml failure from 2026-02-25.
@chaliy chaliy force-pushed the claude/maintenance-pr-So774 branch from 86d26f9 to 0e649e6 Compare February 26, 2026 00:47
@chaliy chaliy merged commit e2ea375 into main Feb 26, 2026
16 checks passed
@chaliy chaliy deleted the claude/maintenance-pr-So774 branch February 26, 2026 00:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants